package javaCode.chapter13.map_;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 徐州城
 * @version 1.0
 */
@SuppressWarnings({"all"})
public class Map_ {
    public static void main(String[] args) {
        //解读Map 接口实现类的特点，使用实现类HashMap
        //1. Map与Collection并列存在。用于保存具有映射关系的数据：Key - Value (双列元素)
        //2. Map 中的key 和value 可以是任何引用类型的数据，会封装到 HashMap$Node对象中
        //3. Map 中的key 不允许重复
        //4. Map 中的value 可以重复
        //5. Map 的key 可以为null，value 也可以为null，注意 key为null，只能有一个，value 为null，可以多个
        //6. 常用String类作为Map的 key
        //7. key和value 之间存在单向一对一关系，即通过指定的 key 总能找到对应的 value
        Map map = new HashMap();
        map.put("no1", "韩顺平");//k - v
        map.put("no2", "张无忌");
        map.put("no1", "张三丰");//当有相同的k，就等价于替换
        map.put("no3", "张三丰");
        map.put(null, null);
        map.put(null, "abc"); //等价替换
        map.put(new Object(), "金毛狮王");
        // 通过get方法，传入key，会返回对应的value
        System.out.println(map.get("no2"));

        System.out.println("map=" + map);
    }
}
